工厂函数是什么?也是定义函数的一种方式么?

您所在的位置:网站首页 前端new 构造函数的过程是什么意思呀 工厂函数是什么?也是定义函数的一种方式么?

工厂函数是什么?也是定义函数的一种方式么?

2024-07-16 08:36| 来源: 网络整理| 查看: 265

目录

工厂函数是什么?

定义某种数据类型的方式,一般有以下几种:

对于不同类型的数据,怎样定义方式最简单呢?

工厂函数是什么?

工厂函数是定义对象的方式之一。不是定义函数的方式。

定义函数的方式,见链接:(4条消息) 从函数内变量的访问,到匿名函数和自调用函数_shaylo的博客-CSDN博客

定义对象的方式:

字面量(创建单个对象时)new Object() 构造函数工厂函数:对构造函数的封装自定义构造函数(创建多个对象时) // 工厂函数:封装 构造函数 function createPerson(name, age) { let person = new Object() person.name = name person.age = age person.sayHi = function () { console.log('Hi') } rerturn person } let p1 = createPerson('Lily', 18) console.log(p1) 定义某种数据类型的方式,一般有以下几种:

第一种:字面量:最简单的方式,是通过赋值给变量来实现的。

// array let arr = [1, 2, 3] // function // 方式一:把普通函数赋值给变量 let foo = function fun(x) { return x * 2 } // 方式二:把匿名函数赋值给变量 let foo = function(x) { return x * 2 } // object let person1 = { name: 'Lily', age: 18, sayHi: function () { console.log(this.name + '向你问好') } }

第二种:构造函数:通过 new 关键字+首字母大写的对象名 实现。(不推荐,代码量大)

// array let arr1 = new Array(2, 3) console.log(arr1) // [2, 3] // function :不推荐,因为 参数 和 函数体 都要写为 字符串,很不方便 let foo = new Function('x', 'return x * 2') // object let person1 = new Object() person1.name = 'Lily' person1.age = 18 person1.sayHi = function () { console.log('你好') } 对于不同类型的数据,怎样定义方式最简单呢?

数组:字面量方式

// array 字面量 let arr = [1, 2, 3]

函数:首选箭头函数,其次是匿名函数,最后是function 关键字

// arrow function x => x * 2 (x, y) => { return x *= y } // 匿名函数 function (x) { return x * 2 } (function (x) { return x * 2 })(5); // function 关键字 function foo(x) { return x * 2 }

对象:

创建单个对象:字面量方式创建多个对象:自定义构造函数 // 创建单个对象:字面量方式 let person1 = { name: 'Lily', age: 18, sayHi: function () { console.log(this.name + '向你问好') } } // 创建多个对象:自定义构造函数 function Person(name, age) { this.name = name this.age = age this.sayHi = function () { console.log(this.name + '向你问好') } } let p1 = new Person('Lily', 18) console.log(p1)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3